a = 'hello world'
b = "abcdefg"
print(a)
print(b)
print(type(a))
print(type(b))

# 单引号字符串
name1 = 'Tom'
name2 = "Rose"
# 三引号字符串
# 三引号形式的字符串支持换行
name3 = ''' Tom '''
name4 = """ Rose """
a = ''' i am Tom, 
        nice to meet you! '''
b = """ i am Rose, 
        nice to meet you! """

c = "I'm Tom"
d = 'I\'m Tom'
print(name1)
print(name2)
print(name3)
print(name4)

print(a)
print(b)
print(c)
print(d)

"""
字符串的输出
"""
name = "TOM"
# 我的名字是TOM
print('我的名字是%s' % name)
print(f'我的名字是{name}')

"""
字符串的输入
"""
# password = input("请输入您的密码:")
# print(f'您的密码是{password}')
# print(type(password))


"""
字符串的下标
"""
str1 = "abcdefg"
print(str1[0])
print(str1[3])
print(str1[6])

"""
切片
序列名[开始位置下标:结束位置下标:步长]
"""
str2 = "0123456789"
print(str2[2:5:1])  # 234
print(str2[2:5:2])  # 24
print(str2[2:5])  # 234
print(str2[:5])  # 01234
print(str2[:5])  # 01234
print(str2[2:])  # 23456789
print(str2[:])  # 0123456789
print(str2[::-1])  # 9876543210
print(str2[-4:-1])  # 678
print(str2[-4:-1:-1])  # 不能选取出数据

"""
查找:find,index,count,rfind,rindex
"""
mystr = 'hello world and itcast and itheima and python'
# find()
print(mystr.find('and'))  # 12
print(mystr.find('and', 15, 30))  # 23
print(mystr.find('ands'))  # -1,ands字串不存在
# index()
print(mystr.index('and'))  # 12
print(mystr.index('and', 15, 30))  # 23
# print(mystr.index('ands'))  # 报错
# count()
print(mystr.count('and'))  # 3
print(mystr.count('and', 15, 30))  # 1
print(mystr.count('ands'))  # 0
# rfind()
# print(mystr.rfind('and'))
# print(mystr.rfind('ands'))
# rindex()
# print(mystr.rindex('and'))
# print(mystr.rindex('ands'))

"""
修改:大小写转换,删除空白字符,字符串对齐
"""
# replace()
new_str1 = mystr.replace('and', '和')
new_str2 = mystr.replace('and', '和', 1)
new_str3 = mystr.replace('and', '和', 10)
print(mystr)
print(new_str1)
print(new_str2)
print(new_str3)
# split() -- 分割，返回一个列表，丢失分割字符
list1 = mystr.split('and')
list2 = mystr.split('and', 2)
print(list1)
print(list2)
# join() -- 合并列表里的字符串中的的数据


# 把字符串的第一个字符大写
print(mystr.capitalize())
# title 把字符串的每个单词首字母大写
print(mystr.title())
# 转换 mystr 中所有大写字符为小写
print(mystr.lower())
# upper 转换 mystr 中的小写字母为大写
print(mystr.upper())

# 删除空白字符
mystr = " hello world and itcast and itheima and python "
# lstrip 删除 mystr 左边的空白字符
print(mystr.lstrip())
# rstrip 删除 mystr 字符串末尾的空白字符
print(mystr.rstrip())
# strip 删除mystr字符串两端的空白字符
print(mystr.strip())

# 对齐
# ljust 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr = 'hello'
print(mystr.ljust(10))
print(mystr.ljust(10, '.'))
# rjust 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
print(mystr.rjust(10))
print(mystr.rjust(10, '.'))
# center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
print(mystr.center(10))
print(mystr.center(10, '.'))

# 判断
# startswith 检查字符串是否是以 hello 开头, 是则返回 True，否则返回 False
mystr = 'hello world and itcast and itheima and python'
print(mystr.startswith('hello'))
# endswith 检查字符串是否以obj结束，如果是返回True,否则返回 False.
print(mystr.endswith('python'))
# isalpha 如果 mystr 所有字符都是字母 则返回 True,否则返回 False
print(mystr.isalpha())
# isdigit 如果 mystr 只包含数字则返回 True 否则返回 False.
print(mystr.isdigit())
# isalnum 如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
print(mystr.isalnum())
# isspace 如果 mystr 中只包含空格，则返回 True，否则返回 False.
print(mystr.isspace())